package xin.alum.aim.config;

/**
 * 网络通信数据协议
 *
 * @auther Alum(alum @ live.cn)
 * @date 2021/8/7 17:57
 */
public enum DataAgreement {

    /**
     * 普通文本
     */
    Text("Text", 0),
    /**
     * JSON数据
     */
    Json("Json", 1),
    /**
     * 字节数据
     */
    Binary("Binary", 2),
    /**
     * ProtoBuf协议数据
     */
    ProtoBuf("ProtoBuf", 3),

    /**
     * 简单数据传输协议
     */
    Tlv("Tlv", 4);

    private String name;
    private int value;

    DataAgreement(String name, int value) {
        this.name = name;
        this.value = value;
    }

    public int getValue() {
        return value;
    }

    /**
     * 根据Value获取对象
     *
     * @param value
     * @return
     */
    public static DataAgreement valueOf(int value) {
        for (DataAgreement c : DataAgreement.values()) {
            if (c.value == value) {
                return c;
            }
        }
        return null;
    }
}
